// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl;
// import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause;
// import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor;
#pragma once
#include "../OracleSQLObjectImpl.h"

class OracleLobParameters : virtual public OracleSQLObjectImpl
{
public:
  SQLName_ptr tableSpace;
  BOOL_ptr enableStorageInRow;
  SQLExpr_ptr chunk;
  BOOL_ptr cache;
  BOOL_ptr logging;
  BOOL_ptr compress;
  BOOL_ptr keepDuplicates;
  OracleStorageClause_ptr storage;
  SQLExpr_ptr pctVersion;

  SHAREDOBJECT(OracleLobParameters);
  // @Override
  void accept0(OracleASTVisitor_ptr visitor);

  OracleStorageClause_ptr getStorage();

  void setStorage(OracleStorageClause_ptr x);

  SQLName_ptr getTableSpace();

  void setTableSpace(SQLName_ptr tableSpace);

  BOOL_ptr getEnableStorageInRow();

  void setEnableStorageInRow(BOOL_ptr enableStorageInRow);

  SQLExpr_ptr getChunk();

  void setChunk(SQLExpr_ptr chunk);

  BOOL_ptr getCache();

  void setCache(BOOL_ptr cache);

  BOOL_ptr getLogging();

  void setLogging(BOOL_ptr logging);

  BOOL_ptr getCompress();

  void setCompress(BOOL_ptr compress);

  BOOL_ptr getKeepDuplicates();

  void setKeepDuplicates(BOOL_ptr keepDuplicates);

  SQLExpr_ptr getPctVersion();

  void setPctVersion(SQLExpr_ptr x);
};
